Power tool geofence tracking and dashboard

ABSTRACT

Methods and systems for power tool geofence tracking. One embodiment provides a method for power tool geofence tracking and dashboard display. The method includes determining, using an electronic processor with a transceiver, a location of one or more power tool devices and generating, using the electronic processor, a dashboard to simultaneously display a location-based inventory, indication of number of missing tool, and geofence setup of power tool devices within the inventory. The method also includes displaying, using the electronic processor, the dashboard on an electronic display.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/834,724, filed on Apr. 16, 2019, the entire contents of which areincorporated herein by reference.

FIELD

This application relates to geofence tracking for power tool devices andcorresponding graphical user interfaces displayed on a mobilecommunications device.

SUMMARY

User interfaces of tracking systems for large inventories can becumbersome and complicated, leading to frustrating and inefficient userexperiences that require multiple user steps to gather desiredinformation, which slows adoption and usage of such systems. Further,tracking systems designed for generic inventory, rather thanparticularly for power tool devices, lack features and functionalityparticularly helpful in the power tool industry context. Embodimentsdescribed herein provide, among other things, power tool trackingsystems, methods and related user interfaces, with improved usabilitythrough efficient tracking data aggregation, analysis, and presentation.For example, in some embodiments, tracking data is analyzed to determinemultiple tool tracking statistics and simultaneously displayed on asingle dashboard along with identifying information and configurationoptions.

One embodiment provides a mobile communications device for power toolgeofence tracking. The mobile communications device includes atransceiver configured to enable communications between the mobilecommunications device and one or more power tool devices. The mobilecommunications device also includes an electronic display and anelectronic processor communicatively coupled to the transceiver and theelectronic display. The electronic processor is configured to determinea location of the one or more power tool devices and generate adashboard. The dashboard simultaneously displays an identity andlocation associated with a tool inventory and a link to a geofenceboundary setup screen. The geofence boundary setup screen is configuredto define a geofence boundary for the tool inventory. The dashboard alsosimultaneously displays inventory data of the tool inventory includingan indication of a number of missing tools, a number of tools withsuggested service, a number of tools missing for a specified period oftime, and a number of tools outside of the geofence. The dashboard alsosimultaneously display a link to conduct a wireless inventory audit forthe inventory. The electronic processor is also configured to display,on the electronic display, the dashboard.

Another embodiment provides a method for power tool geofence trackingand dashboard display. The method includes determining, using anelectronic processor with a transceiver, a location of one or more powertool devices and generating, using the electronic processor, a dashboardto simultaneously display a location-based inventory, indication ofnumber of missing tool, and geofence boundary setup of power tooldevices within the inventory. The method also includes displaying, usingthe electronic processor, the dashboard on an electronic display.

Another embodiment provides a mobile communications device for powertool geofence tracking. The mobile communications device includes atransceiver configured to enable communications between the mobilecommunications device and one or more power tool devices and anelectronic display. The mobile communications device also includes anelectronic processor communicatively coupled to the transceiver and theelectronic display. The electronic processor is configured to determinea location of the one or more power tool devices and generate adashboard. The dashboard simultaneously displays an identity andlocation associated with a tool inventory and a link to a geofenceboundary setup screen. The geofence boundary setup screen is configuredto define a geofence boundary for the tool inventory. The dashboard alsosimultaneously displays a link to conduct a wireless inventory audit forthe inventory. The mobile communications device is also configured todisplay, on the electronic display, the dashboard.

Another embodiment provides a remote server configured to populate ageofence boundary with a first plurality of reference points andpopulate an area around one or more power tools with a second pluralityof reference points. The remote server is also configured to run thefirst plurality of reference points and the second plurality ofreference points through a clustering function and determine whether oneor more of the second plurality of reference points is in a same clusteras one or more of the first plurality of reference points. The remoteserver is further configured to determine that the one or more powertools is within the geofence boundary when one or more of the secondplurality of reference points is in the same cluster as one or more ofthe first plurality of reference points.

In some embodiments of the system, the remote server is furtherconfigured to determine that the one or more power tools is outside thegeofence boundary based on determining that no cluster includes both atleast one of the second plurality of reference points and at least oneof the first plurality of reference points.

In some embodiments of the system, the remote server is configured totransmit an indication indicative of whether the one or more power toolsis within the geofence.

Another embodiment provides a method for determining whether a powertool is within a geofence boundary. The method includes populating themodified geofence boundary with a first plurality of reference pointsand populating area around the one or more power tools with a secondplurality of reference points. The method also includes running thefirst plurality of reference points and the second plurality ofreference points through a clustering function and determining whetherone or more of the second plurality of reference points is in a samecluster as one or more of the first plurality of reference points. Themethod further includes determining that the one or more power toolsdevice is within the modified geofence boundary when one or more of thesecond plurality of reference points is in the same cluster as one ormore of the first plurality of reference points.

In some embodiments of the method, the remote server determines that theone or more power tools is outside the geofence boundary based ondetermining that no cluster includes both at least one of the secondplurality of reference points and at least one of the first plurality ofreference points.

In some embodiments of the method, the remote server transmits anindication indicative of whether the one or more power tools is withinthe geofence.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 illustrates a power tool geofence tracking system in accordancewith some embodiments.

FIG. 2 is a block diagram of mobile communications device of the powertool geofence tracking system of FIG. 1 in accordance with someembodiments.

FIG. 3 is a block diagram of a power tool of the power tool geofencetracking system of FIG. 1 in accordance with some embodiments.

FIG. 4 is a flowchart of a method for power tool geofence tracking anddashboard display in accordance with some embodiment.

FIG. 5 illustrates a graphical user interface of the mobilecommunications device of FIG. 2 in accordance with some embodiments.

FIG. 6 illustrates a graphical user interface of the mobilecommunications device of FIG. 2 in accordance with some embodiments.

FIG. 7 illustrates a graphical user interface of the mobilecommunications device of FIG. 2 in accordance with some embodiments.

FIG. 8 illustrates a graphical user interface of the mobilecommunications device of FIG. 2 in accordance with some embodiments.

FIG. 9 illustrates a graphical user interface of the mobilecommunications device of FIG. 2 in accordance with some embodiments.

FIG. 10 illustrates a graphical user interface of the mobilecommunications device of FIG. 2 in accordance with some embodiments.

FIG. 11 illustrates a graphical user interface of the mobilecommunications device of FIG. 2 in accordance with some embodiments.

FIG. 12 is a flowchart of a method for determining a location of a powertool with respect to a geofence using a clustering technique inaccordance with some embodiments.

FIGS. 13A, 13B, 13C, and 13D illustrate examples of using the clusteringtechnique referred to with respect to the flowchart of FIG. 12.

DETAILED DESCRIPTION OF THE INVENTION

Before any embodiments of the invention are explained in detail, it isto be understood that the invention is not limited in its application tothe details of construction and the arrangement of components set forthin the following description or illustrated in the following drawings.The invention is capable of other embodiments and of being practiced orof being carried out in various ways.

It should be noted that a plurality of hardware and software baseddevices, as well as a plurality of different structural components maybe utilized to implement the invention. Furthermore, and as described insubsequent paragraphs, the specific configurations illustrated in thedrawings are intended to exemplify embodiments of the invention and thatother alternative configurations are possible. The terms “processor”“central processing unit” and “CPU” are interchangeable unless otherwisestated. Where the terms “processor” or “central processing unit” or“CPU” are used as identifying a unit performing specific functions, itshould be understood that, unless otherwise stated, those functions canbe carried out by a single processor, or multiple processors arranged inany form, including parallel processors, serial processors, tandemprocessors, or cloud processing/cloud computing configurations.

FIG. 1 illustrates a power tool geofence tracking system 100 inaccordance with some embodiments. In the example illustrated, the powertool geofence tracking system 100 includes a plurality of mobilecommunications devices 110, a plurality of power tool devices 120, and aremote server 130. The plurality of mobile communications devices 110may be singularly referred to as a mobile communications device 110 orone or more mobile communications devices 110. In the exampleillustrated, the plurality of mobile communications devices 110 includesa first mobile communications device 110A and a second mobilecommunications device 110B. The plurality of power tool devices 120 maybe singularly referred to as a power tool device 120 or one or morepower tool devices 120.

Each mobile communications device 110 communicates with one or morepower tool devices 120 that are located within a wireless communicationrange of the mobile communications device 110. The power tool geofencetracking system 100 is used to track locations of the plurality of powertool devices 120 of a user or an organization. For example, the firstmobile communications device 110A communicates with a first one or morepower tool devices 120 within a first location 140 to track the firstone or more power tool devices 120. The first location 140 is forexample, a worksite location, a foreman's office location, or the like.Similarly, the second mobile communications device 110B communicationwith a second one or more power tool devices 120 within a secondlocation 150 to track the second one or more power tool devices 120. Thesecond location 150 is for example, a second worksite location, anotheroffice location, or the like. Accordingly, the plurality of mobilecommunications devices 110 can be used to track the plurality of powertool devices 120 across multiple locations. The power tool geofencetracking system 100 may include more or fewer components than thoseillustrated in FIG. 1 and may perform functions other than thosedescribed herein.

The mobile communications device 110 is, for example, a smart telephone,a tablet computer, a smart watch, a personal digital assistant and thelike. The power tool device 120 is any motorized or non-motorized powertool device, for example, a drill-driver, a hammer drill, a rotaryhammer, a miter saw, a jigsaw, a work light, a work radio, a dustextractor, ruggedized tracking device (e.g., for securing toconstruction equipment or materials), and the like, or a power toolbattery pack configured to power a power tool device, such as theaforementioned power tool devices. The plurality of mobilecommunications devices 110 communicate with the plurality of power tooldevices 120 over a wireless connection 160, for example, a Bluetooth® orZigBee® connection.

The plurality of mobile communications devices 110 also communicate witha remote server 130 over a communication network 170. In someembodiments, the communication network 170 may be an Internet network, acellular network, another network, or a combination thereof. The mobilecommunications device 110 can forward to the remote server 130 at leastsome of the information received from the power tool devices 120. Theremote server 130 provides additional storage and processing power andthereby enables the geofence tracking system 100 to encompass more powertool devices 120 without being limited to the storage and processingcapabilities of the mobile communications device 110.

In some embodiments, the plurality of mobile communications devices 110are issued by a single organization or entity to track the power tooldevices 120 that belong to the organization or entity. In someembodiments, each user within an organization or entity has their ownpower tool devices 120 that can be tracked by one or more mobilecommunications devices 110. In other embodiments, a single mobilecommunications device 110 may be used to track inventory of a singleuser. In further embodiments, one or more of the plurality of mobilecommunications devices 110 are owned and operated by independent users.

The power tool devices 120 can be added to an inventory using the mobilecommunications device 110. For example, a user can use the mobilecommunications device 110 to pair with a nearby power tool device 120.Once the mobile communications device 110 receives identificationinformation of the power tool device 120, the user may add the powertool device 120 to the inventory of the user or the organization. Powertool devices 120 can also be manually added to the inventory by enteringidentification information of the power tool devices into the mobilecommunications device 110 or another external electrical device incommunication with the remote server 130. The inventory for each user ororganization may be stored in a memory of the remote server 130, in themobile communications devices 110, or both. The inventory may include,for example, one or more of a list of power tool devices (e.g.,identified by a serial number or another identification label), anassociated user(s), an associated organization(s), a power tool type, anassigned worksite or location, collectively, inventory data.

FIG. 2 is a block diagram of one example embodiment of the mobilecommunications device 110. In the example illustrated, the mobilecommunications device 110 includes an electronic processor 210, a memory220, a transceiver 230, and a user interface 240. The electronicprocessor 210, the memory 220, the transceiver 230, and the userinterface 240 communicate over one or more control and/or data buses(for example, a communication bus 250). The memory 220 includes readonly memory (ROM), random access memory (RAM), other non-transitorycomputer-readable media, or a combination thereof. The electronicprocessor 210 is configured to communicate with the memory 220 to storedata and retrieve stored data. The electronic processor 210 isconfigured to receive instructions and data from the memory 220 andexecute, among other things, the instructions. In particular, theelectronic processor 210 executes instructions stored in the memory 220to perform the methods described herein.

The transceiver 230 facilitates communication between the mobilecommunications device 110 and the power tool devices 120, between themobile communications device 110 and the communication network 170, orboth. The mobile communications device 110 communicates with the remoteserver 130 over the communication network 170 via the transceiver. Forexample, the transceiver 230 may include a short-range transceiver tofacilitate communication with the power tool devices 120 over aBluetooth® connection and a long-range transceiver to facilitatecommunication with the communication network 170 over a Wi-Fi™ or aCellular connection. In some embodiments, the transceiver 230 of themobile communications device 110 may include separate transmission andreceiving components, for example, a transmitter and a receiver, ratherthan a joint transmitter-receiver.

The user interface 240 includes one or more input components and one ormore output components. Particularly, the user interface 240 includes anelectronic display 260 to display information regarding the power tooldevices 120 to a user of the mobile communications device 110. Theelectronic display 260 is, for example, a touch screen display that canserve as both an input and an output component. In some embodiments, theuser interface 240 includes further inputs (e.g., buttons, switches,dials) and outputs (e.g., a tactile output generator, speaker, etc.).

In some embodiments, the remote server 130 (see FIG. 1) has a similarconfiguration as the mobile communications device 110 shown in FIG. 2including an electronic processor, memory, and transceiver coupled by acommunication bus, and, in some embodiments, a user interface.Additionally, the memory of the remote server 130 stores data andinstructions and the electronic processor of the remote server 130 isconfigured to receive instructions and data from the memory 220 andexecute, among other things, the instructions to perform the functionsof the remote server 130 described herein. Further, the remote server130 may include a single server or a plurality of servers, whetherco-located or distributed.

FIG. 3 is a block diagram of one example embodiment of the power tooldevice 120. In the example illustrated, the power tool device 120includes a device electronic processor 310, a device memory 320, and adevice transceiver 330. The device electronic processor 310, the devicememory 320, and the device transceiver 330 communicate over one or morecontrol and/or data buses (for example, a device communication bus 340).The device electronic processor 310, the device memory 320, and thedevice transceiver 330 are implemented similar to the electronicprocessor 210, the memory 220, and the transceiver 230 respectively. Inone example, the device electronic processor 310 and the device memory320 are part of a microcontroller unit of a motorized or non-motorizedpower tool or battery pack. In some embodiments, the power tool device120 also optionally includes additional electronic components 350. For amotorized power tool (e.g., drill-driver, saw, and the like), theelectronic components 350 include, for example, one or more of a powersource, an inverter bridge, a motor (e.g., brushed or brushless), andthe like. For a battery pack, the electronic components 350 include, forexample, one or more of battery cells, a charge level fuel gauge, analogfront ends, sensors, and the like. For a non-motorized power tool (e.g.,a work light, a work radio, ruggedized tracking device, and the like),the electronic components include, for example, one or more of alighting element (e.g., an LED), an audio element (e.g., a speaker), apower source, and the like. In some embodiments, the device transceiver330 is within a separate housing along with another electronic processorand memory, and that separate housing selectively attaches to the powertool device 120, on an outside surface of the power tool device 120 orby being inserted into a receptacle of the power tool device 120.Accordingly, the wireless communication capabilities of the power tooldevice 120 may reside in part on a selectively attachable communicationdevice, rather than integrated into the power tool device 120. Suchselectively attachable communication devices may include electricalterminals that engage with reciprocal electrical terminals of the powertool device 120 to enable communication between the respective devicesand enable the power tool device 120 to provide power to the selectivelyattachable communication device.

FIG. 4 is a flowchart of an example method 400 for power tool geofencetracking and dashboard display. In the example illustrated, the method400 includes determining, using the electronic processor 210 with thetransceiver 230, a location of one or more power tool devices 120 (atblock 410). The mobile communications device 110 communicates with powertool devices 120 within a wireless communication range of the mobilecommunications device 110. The mobile communications device 110communications with the power tool devices 120 over, for example, aBluetooth® connection, a ZigBee™ connection, and the like. In oneexample, the mobile communications device 110 provides a wirelessadvertisement. The power tool devices 120 that are within the wirelesscommunication range of the mobile communications device 110 and thatreceive the wireless advertisement establish a connection with themobile communications device 110 via the device transceiver 330.Particularly, the power tool devices 120 transmit identificationinformation of the power tool devices 120 to the mobile communicationsdevice 110 in response to the wireless advertisement. In someembodiments, additionally or alternatively, the power tool devices 120periodically transmit a beacon signal (including the identificationinformation) via the device transceiver 330 based on an internaltrigger, such as the elapsing of a timer, an internal schedule, sensedmovement, or the like.

The mobile communications device 110 also receives location informationover the communication network 170. For example, the mobilecommunications device 110 may include a separate global positioningsystem (GPS) receiver that determines a location based on signalsreceived from one or more GPS satellites and provides the location tothe electronic processor 210. The mobile communications device 110 thentags the location information to the identification information receivedfrom the power tool devices 120. That is, the mobile communicationsdevice 110 stores the identification information from the power tooldevice 120 along with the location information determined around thesame time as when the mobile communications device 110 receives theidentification information. The mobile communications device 110forwards the identification information of the power tool devices 120and the location information to the remote server 130 over thecommunication network 170. The remote server 130 may store the locationinformation as the last seen location of the power tool device 120 towhich the location information is tagged.

Referring to FIG. 1, in one example, the first mobile communicationsdevice 110A outputs a wireless advertisement. The first plurality ofpower tool devices 120 within the first location 140 provide respectiveidentification information to the first mobile communications device110A in response to the wireless advertisement (or internal trigger).The first mobile communications device 110A determines the locationinformation of the first location 140 from the GPS signal received fromthe GPS satellite. The first mobile communications device 110A storesthe location information of the first location 140 as the currentlocation of the first plurality of power tool devices 120. The firstmobile communications device 110A may also forward the current locationof the first plurality of power tool devices 120 along with theidentification information of the first plurality of power tool devices120 for storage in the remote server 130 as the last seen location.

In some embodiments, one or more of the power tool devices 120 includesa GPS receiver for determining its own location independent of themobile communications devices 110, and a long range wireless transceiverto, independent of the mobile communications devices 110, communicatethe identification information along with the determined locationinformation to the remote server 130 for storage as the last seenlocation. In some embodiments, the GPS receiver and long range wirelesstransceiver are within a separate housing that selectively attaches tothe power tool device 120, on an outside surface of the power tooldevice 120 or by being inserted into a receptacle of the power tooldevice 120.

Accordingly, in some instances, the mobile communications devices 110are configured to determine a location of one or more power tool devices120 via direct interfacing with the power tool devices 120, as explainedabove. In some instances, the mobile communications devices 110 areconfigured to determine a location of one or more of the power tooldevices 120 via communication with the remote server 130. For example,the mobile communications devices 110 is configured to query the remoteserver 130 for location information for one or more of the power tooldevices 120 stored on the remote server 130 (e.g., aggregated from othermobile communications devices 110). Thus, in one example, the mobilecommunications device 110A is configured to determine the locationinformation for power tool devices 120 in the second location 150 fromthe remote server 130, which was previously provided to the remoteserver 130 by the mobile communications device 110B or directly from thepower tool device 120.

Returning to FIG. 4, the method 400 also includes generating, using theelectronic processor 210, a dashboard 500 to simultaneously display alocation-based inventory, indication of number of missing tools andgeofence setup of power tool devices within the inventory (at block420). FIG. 5 illustrates one example embodiment of the dashboard 500.The dashboard 500, as well as other dashboards described below, isgenerated by execution of a smart phone application, a tabletapplication, and the like (referred to as a mobile application) fordisplay on the mobile communications device 110 as part of a graphicaluser interface of the mobile application. In the example illustrated,the dashboard 500 includes a location information section 510, alocation address section 520, a tool stats section 530, and an inventorysection 540 (that is, location-based inventory). The locationinformation section 510 includes information regarding a specificlocation, for example, the first location 140, the second location 150,and the like.

An organizational user can add and configure locations on the mobilecommunications device 110 using an application executed by the mobilecommunications device 110. FIG. 6 illustrates a second dashboard 600generated by the electronic processor 210. The second dashboard 600 isgenerated in response to receipt of a user request to launch the mobileapplication and a selection of a places option 610. The user may use thesecond dashboard 600 to add and configure locations. For example, theorganization user can setup each worksite of one or more projects of theorganization. For example, the electronic processor 210 characterizes alocation in response to receipt of user input indicating a name 512, aphone number 514, a job number 516, and a division 518 for the locationas shown in FIG. 5. The user may also provide an address for thelocation, an image to be used as an icon for the location, and a daterange for the job at the location. The name 512, phone number 514, costcode 516, and the division 518 for the location are displayed in thelocation information section of the dashboard 500. The location addressis displayed in the location address section 520 of the dashboard 500.An individual user may similarly add location(s), for example, a homelocation using the mobile application. In response to receipt of a userselection of one of the locations registered in the mobile application,the electronic processor 210 generates and displays the dashboard 500.

When the locations are setup in the mobile application, the user can addand/or assign power tool devices 120 to each location. Particularly, theuser may add nearby power tool devices 120 to the user's inventory andassign the nearby power tool devices 120 to the current location. Thepower tool devices 120 assigned to the current location may be viewed byselecting an assigned items selection 542 in the inventory section 540.FIG. 7 illustrates a third dashboard 700 generated by the electronicprocessor 210 that displays the power tool devices 120 assigned to aparticular location. Particularly, the third dashboard 700 displaysidentification information of the power tool devices 120 assigned to theparticular location.

The user may also assign other users or other mobile communicationsdevices 110 to the current location. The users assigned to the currentlocation can access the tools at the current location. For example, theassigned users may use their mobile communications device 110 to lockand unlock tools at the current location for operation. The usersassigned to the current location may be viewed by selecting an assignedpeople selection 544 in the inventory section 540.

The mobile communications devices 110 forward the location and inventoryinformation for storage on the remote server 130. The location andinventory information stored on the remote server 130 can be accessed byother mobile communications devices 110 that belong to the organization,as well as by the mobile communications device 110 that forward thelocation and inventory information at a later time.

The tool stats section 530 displays information regarding the power tooldevices 120 in the inventory. In the example illustrated, the tool statssection 530 displays number of power tool devices 120 marked as missing532, number of power tool devices 120 that need service 534, number ofpower tool devices 120 not seen in a particular number of days 536, anda number of power tool devices 120 seen outside a geofence 538. The userof the mobile application can mark the power tool devices 120 as missingif they cannot be found at any of the locations by navigating throughthe mobile application graphical user interface. In some embodiments,the one or more mobile communications devices 110 may mark the powertool devices 120 as missing when the mobile communications devices 110cannot communicate with the power tool devices 120 at any of theregistered locations for a certain number of days.

The one or more mobile communications devices 110 similarly mark thepower tool devices 120 as not seen in a particular number of days whenthe mobile communications devices 110 have not communicated with thepower tool devices 120 for that particular number of days at any of theregistered locations. For example, as previously noted, the mobilecommunications devices 110 transmit to the remote server 130identification and current location information for power tool devices120 that the mobile communications devices 110 encounter (i.e., becomewithin wireless communication range), and the remote server 130 storesthe received current location information as the last seen location foreach power tool device 120. When the remote server 130 determines thatthe last seen location for one of the power tool devices 120 occurredmore than the particular number of days before the current date (i.e.,current date−last seen date>particular number of days), the remoteserver 130 indicates to the mobile communications device 110 that thepower tool device 120 has not been seen for the particular number ofdays. The mobile communications device 110 then updates (i.e.,increments) the not seen in a particular number of days statistic 536 inthe tool stats section 530. When a power tool device 120 previouslydetermined to not have been seen for a particular number of days latercomes into wireless communication with one of the mobile communicationsdevices 110, the mobile communications device 110 sends the identifyinginformation of the power tool device 120 and the current location of themobile communications device 110 to the remote server 130. The remoteserver 130 then updates the last seen location and date for the powertool device 120, and sends a notification to the mobile communicationsdevices 110 having that power tool device 120 in an associated inventorythat the power tool device 120 has been seen. The mobile communicationsdevice 110 then updates (i.e., decrements) the not seen in a particularnumber of days statistic 536 in the tool stats section 530. In someembodiments, the incrementing and decrementing for the not seen in aparticular number of days statistic 536 is performed at the remoteserver 130, the statistic is provided to the mobile communicationsdevice 110 to update the particular number of days statistic displayedin the tool stats section 530.

In some embodiments, the power tool devices 120 communicate sensor andother data to the mobile communications devices 110. A power tool device120 may also communicate that the power tool device 120 needs service.Alternatively, the mobile communications device 110 may determine thatthe power tool device 120 may need service in response to data receivedfrom the power tool device 120 or the remote server 130. In someembodiments, a user may select a power tool device 120 from theinventory and select an option for service. The mobile communicationsdevice 110 then displays the number of power tool devices that needservice in the tool stats section 530.

In some embodiments, the user may select a geofence setup option 545 tosetup a geofence around the location. FIG. 8 illustrates a fourthdashboard 800 for setting up a geofence for the current location. Asillustrated in FIG. 8, a user may set up a boundary around the currentlocation. For example, the mobile communications device may receive aninitial location selection via the electronic display 260 (e.g., bydragging and dropping a pin on the illustrated map). The mobilecommunications device 110 then generates a default geofence boundarythat is displayed on the map, and receives user boundary inputmodifications via the electronic display 260 (e.g., through a userdragging boundary corners or points). Once a geofence is defined, themobile communications device 110 transmits the geofence definition tothe remote server 130. The remote server 130 associates the geofencewith the location and location-based inventory. The remote server 130further compares the last seen location information for each power tooldevice 120 of the associated inventory, and determines whether each ofthe power tool devices 120 is within or outside the geofence. Oneexample method for determining whether a power tool device 120 is withinor outside the geofence is explained below with respect to FIG. 12. Theremote server 130 then transmits the results of the comparison to themobile communications device 110, for example, by transmitting anindication of whether each power tool device 120 of the associatedinventory was determined to be inside the geofence or outside thegeofence. Returning to the dashboard 500 of FIG. 5, the tool statistic,seen outside the geofence 538, is updated to indicate the number of thepower tool devices 120 of the associated inventory that are outside ofthe geofence 538, determined by the mobile communications device 110based on the information received from the remote server 130 (e.g., byincrementing and decrementing a counter for each of the power tooldevices 120 indicated outside of the geofence and inside the geofence,respectively).

FIG. 9 illustrates a fifth dashboard 900 that shows a number of toolsfound outside the geofence boundary set up by the user of the mobileapplication. The fifth dashboard 900 is generated by the electronicprocessor 210 when the user selects the seen outside geofence 538 optionin the dashboard 500. The fifth dashboard 900 displays theidentification information of the power tool devices 120 found outsidethe geofence boundary of the current location.

FIG. 10 illustrates a sixth dashboard 1000 that shows an audit of theinventory at the current location. The sixth dashboard 1000 is generatedby the electronic processor 210 in response to receipt of a userselection of an audit inventory option 546 on the dashboard 500. Thesixth dashboard 1000 displays identification information of the powertool devices 120 in the inventory that are assigned to the currentlocation. For example, the electronic processor 210 access inventoryinformation stored in the memory 220, in the remote server 130, or both,for inclusion in the sixth dashboard 1000. Further, the electronicprocessor 210 determines which of the power tool devices 120 in theinventory have been marked as missing (e.g., information obtained fromthe remote server 130), which of the power tool devices 120 in theinventory are outside of the associated geofence (e.g., informationobtained from the remote server 130) and which of the power tool device120 in the inventory are outside of communication range with thetransceiver 230 of the mobile communications device 110 (e.g., based ona lack of receipt of a signal by the transceiver 230 from the power tooldevices 120 for a predetermined time period). The electronic processor210 may also provide colored indications by the identificationinformation of the power tool devices 120 based on the status of thepower tool devices 120. For example, the electronic processor 210 mayprovide a first indication (e.g., a green border) by the identificationinformation of the power tool devices 120 that can be found at thecurrent location and do not need service, provide a second indication(e.g., a red border) by the identification information of all power tooldevices 120 that need service, and provide a third indication (e.g., agray border) by the identification information of the power tool devices120 that are marked as missing, are found outside the geofence boundaryof the current location, or are outside of communication range with themobile communications device 110 on which the inventory audit wasinitiated.

The user of the mobile application may also request a summary of theinventory at the current location by selecting a view summary option1010 on the sixth dashboard 1000. FIG. 11 illustrates a summarydashboard 1100 generated by the electronic processor 210 in response toreceipt of a user selection of the view summary option 1010. The summarydashboard 1100 displays additional tool statistics of the power tooldevices 120. Particularly, the summary dashboard 1100 displays a numberof power tool devices 120 in the inventory assigned to the currentlocation and detected at the current location 1110, a number of powertool devices 120 in the inventory not assigned to the current locationand detected at the current location 1120, and a number of power tooldevices 120 in the inventory not detected at the current location 1130.In some embodiments, the user also has the option to receive periodicsummary emails (for example, weekly emails) generated by the remoteserver 130. The summary emails may provide the tool statistics of thepower tool devices 120, for example, the number of power tool devices120 in the inventory assigned to the current location and detected atthe current location, the number of power tool devices 120 in theinventory not assigned to the current location and detected at thecurrent location 1120, and the number of power tool devices 120 in theinventory not detected at the current location 1130.

Returning to FIG. 4, the method 400 also includes displaying, using theelectronic processor 210, the dashboard 500 on the electronic display260 (at block 430). The electronic processor 210 causes the dashboards500, 600, 700, 800, 900, 1000, 1100 to be displayed on the electronicdisplay 260 of the mobile communications device 110.

As discussed above, in some embodiments, the remote server 130determines whether each power tool device 120 is within or outside ageofence. FIG. 12 is a flowchart of one example method 1200 fordetermining a location of a power tool device 120 with respect to ageofence using a clustering technique. In the example illustrated, themethod 1200 includes receiving geofence location information (forexample, a geofence boundary or a modified geofence boundary) (at block1210). Referring to FIG. 8, a user may set up a geofence on the fourthdashboard 800 by using the user interface 240 to manipulate a boundaryregion on a map. In some embodiments, the geofence may be a continuousarea within a boundary or may include two or more areas having separateboundaries. FIG. 8 illustrates an example of a geofence including acontinuous area. In some situations, a user may set up a geofence thatincludes, for example, two building but excluding the street or areabetween the two buildings. In these situations, the user may setup afirst area by drawing a first border around a first building on the mapand may setup a second area by drawing a second border around a secondbuilding on the map. Once a geofence is defined, the mobilecommunications device 110 transmits the geofence definition (i.e., thegeofence location information) to the remote server 130.

The method 1200 also includes receiving power tool device 120 locationinformation (at block 1220). As explained above with respect to block410 of FIG. 4, the mobile communications device 110 determines alocation of the power tool devices 120 and transmits the location of thepower tool devices 120 along with the identification information of thepower tool devices 120 to the remote server 130. Additionally, in someembodiments, one or more of the power tool devices 120 includes a GPSreceiver for determining its own location independent of the mobilecommunications devices 110, and a long range wireless transceiver to,independent of the mobile communications devices 110, communicate theidentification information along with the determined locationinformation to the remote server 130 for storage as the last seenlocation. The method 1200 also includes populating the geofence locationwith a first plurality of reference points (at block 1230). The remoteserver 130 populates the area of the geofence location with the firstplurality of reference points. For example, referring to FIG. 13A, theremote server 130 may begin by plotting the locations of the geofence(e.g., the boundary points 1305) and the power tool device 120. FIG. 13Billustrates the geofence location populated with the first plurality ofreference points 1310. The first plurality of reference points may beplaced equidistant from each other within the boundaries of the geofencelocation. In some embodiments, some of the first plurality of referencepoints may be provided just outside the boundaries of the geofencelocation to account or adjust for errors in the received location or thegeofence location. The number or density of the first plurality ofreference points may be varied based on the accuracy specifications forthe system 100. In some embodiments, the spacing of the first pluralityof reference points depends on the size of the geofence location. Forexample, a large geofence may include more spacing between the firstplurality of reference points and a small geofence may include lessspacing between the first plurality of reference points.

The method 1200 further includes populating an area around the location1315 of the power tool device 120 with a second plurality of referencepoints (at block 1240). In some embodiments, the remote server 130populates the area within the location of the power tool device 120 withthe second plurality of reference points. In other embodiments, theremote server 130 expands the area of the power tool device 120 locationand populates the expanded area with the second plurality of referencepoints. FIG. 13C and FIG. 13D illustrate the power tool device 120location populated with the second plurality of reference points 1320 aand 1320 b, respectively. The area and the number or density of secondplurality of reference points may be adjusted based on the accuracyspecifications for the system 100. For example, when the system hashigher accuracy specifications, the second plurality of reference points1320 a may be compactly grouped near the location 1315 of the power tooldevice 120, such as illustrated in FIG. 13C. When the system has loweraccuracy specifications, the second plurality of reference points may beless compactly grouped near the location 1315, such as illustrated inFIG. 13D.

The method 1200 also includes the remote server 130 running the firstplurality of reference points and the second plurality of referencepoints through a clustering function (at block 1250). In other words,the clustering function is executed, by the remote server 130, using thefirst and second plurality of reference points as inputs to thefunction. Various clustering functions may be used by the remote server130, such as a K-means clustering function, a means-shift clusteringalgorithm, a density-based spatial clustering of applications with noise(DBSCAN) function, or a hierarchical clustering function. For example,in some embodiments, the clustering function receives a distance valueand a plurality of reference points and outputs one or more clusters.Each cluster including a subset of the plurality of reference points. Asubset of the plurality of reference points are grouped together into acluster when each one of the subset of the plurality of reference pointsis within the distance value away from at least one other of the subsetof the plurality of reference points.

The method 1200 further includes determining whether at least one of thesecond plurality of reference points is in a same cluster as one of thefirst plurality of reference points (at block 1260). The remote server130 may examine each of the one or more clusters output from theclustering function to determine whether at least one of the one or moreclusters includes at least one of the first plurality of referencepoints and at least one of the second plurality of reference points. Forexample, the remote server 130 may compare the reference points in eachcluster to the list of first and second reference points to identifymatches to determine whether the clusters include at least one of thefirst reference points and at least one of the second reference points.

When the remote server 130 determines that at least one of the secondplurality of reference points is in the same cluster as one of the firstplurality of reference points, the method 1200 includes determining thatthe power tool device 120 is within the geofence location (at block1270). The remote server 130 transmits an indication to the mobilecommunications device 110 that the power tool device 120 is within thegeofence location and the mobile communications device 110 displays thatthe power tool device 120 is within the geofence location, for example,on the second dashboard 600.

When the remote server 130 determines that no cluster includes both atleast one of the second plurality of reference points and at least oneof the first plurality of reference points, the method 1200 includesdetermining, by the remote server 130, that the power tool device 120 isoutside the geofence location (at block 1280). The remote server 130transmits an indication to the mobile communications device 110 that thepower tool device 120 is outside of the geofence location and the mobilecommunications device 110 displays that the power tool device 120 isoutside of the geofence location, for example, on the fifth dashboard900.

In the example of FIG. 13C, because the spacing between the firstplurality of reference points 1310 and the second plurality of referencepoints 1320 a of the power tool device 120 is significant, theclustering function executed using these points as inputs is unlikely toresult in at least one cluster having at least one of the firstplurality of reference points and at least one of the second pluralityof reference points. In such an example, the power tool device 120 wouldbe determined to be outside of the geofence. In the example of FIG. 13D,because at least some of the second plurality of reference points 1320 aoverlap with the area of the first plurality of reference points 1310,the clustering function executed using these points as inputs is likelyto result in at least one cluster having at least one of the firstplurality of reference points and at least one of the second pluralityof reference points. In FIG. 13D, an example of a cluster 1325 isillustrated having at least one of the first plurality of referencepoints and at least one of the second plurality of reference points. Insuch an example, the power tool device 120 would be determined to bewithin the geofence. Similar techniques as described in method 1200 mayalso be used to determine whether any of the power tool devices 120 arewithin any other geofences defined by the user. In addition, the summaryemail generated by the remote server 130 described above may alsoprovide information regarding whether any of the power tool devices 120were found in any geofences defined by the user.

Generally, the clustering technique reduces the likelihood ofincorrectly determining that the power tool device 120 is outside of thegeofence due to location anomalies (e.g., temporarily inaccurate GPSlocation information for the power tool device 120). In other words, theclustering technique can reduce false positives inaccurately indicatingthat the power tool device 120 is outside of the geofence.

In some embodiments, the requirement for the number of first referencepoints and the number of second references points to be present in thesame cluster to determine that the power tool device 120 is within thegeofence may be varied based on the accuracy specifications of thesystem 100. For example, based on the accuracy specifications, theremote server 130 may looks for at least one of the second plurality ofreference points to be in the same cluster as at least four of the firstplurality of reference points, or the like.

Thus, embodiments described herein provide, among other things, a powertool geofence tracking system and corresponding dashboard. The variousdashboards generated by the mobile communications devices 110 provide,among other things, improved usability through efficient tracking dataaggregation, analysis, and presentation. For example, in someembodiments, the mobile communications devices 110 determine tooltracking statistics and generate dashboards that simultaneously displaymultiple tool tracking statistics along with identifying information andconfiguration options.

1. A system for power tool geofence tracking comprising: a mobilecommunications device including a transceiver configured to enablecommunications between the mobile communications device, a remoteserver, and one or more power tool devices; an electronic display; andan electronic processor communicatively coupled to the transceiver andthe electronic display and configured to determine a location of the oneor more power tool devices; generate a dashboard to simultaneouslydisplay: an identity and location associated with a tool inventory, alink to a geofence boundary setup screen, wherein the geofence boundarysetup screen is configured to define a geofence boundary for the toolinventory, inventory data of the tool inventory including an indicationof a number of missing tools, a number of tools with suggested service,a number of tools missing for a specified period of time, and a numberof tools outside of the geofence boundary, and a link to conduct awireless inventory audit for the tool inventory, and display, on theelectronic display, the dashboard.
 2. The system of claim 1, whereinduring geofence boundary setup, the electronic processor is furtherconfigured to: receive, via the electronic display, selection of aninitial location; generate a default geofence boundary based on theinitial location; and display the default geofence boundary on theelectronic display.
 3. The system of claim 2, wherein the electronicprocessor is further configured to: receive, via the electronic display,user boundary input modifications to modify the default geofenceboundary; generate a modified geofence boundary based on the userboundary input modifications; and display the modified geofence boundaryon the electronic display.
 4. The system of claim 3, wherein theelectronic processor is further configured to transmit, via thetransceiver, the modified geofence boundary to the remote server,wherein the remote server associates the modified geofence boundary withthe initial location and a location-based inventory.
 5. The system ofclaim 4, wherein the electronic processor is further configured totransmit, via the transceiver, the location of the one or more powertool devices to the remote server.
 6. The system of claim 5, wherein theremote server is configured to: populate the modified geofence boundarywith a first plurality of reference points; populate an area around theone or more power tool devices with a second plurality of referencepoints; run the first plurality of reference points and the secondplurality of reference points through a clustering function; determinewhether one or more of the second plurality of reference points is in asame cluster as one or more of the first plurality of reference points;determine that the one or more power tool devices is within the modifiedgeofence boundary when one or more of the second plurality of referencepoints is in the same cluster as one or more of the first plurality ofreference points.
 7. The system of claim 6, wherein the remote server isconfigured to transmit an indication to the mobile communications devicethat the one or more power tool devices is within the modified geofenceboundary.
 8. A method for power tool geofence tracking and dashboarddisplay on a mobile communications device comprising: determining, usingan electronic processor with a transceiver, a location of one or morepower tool devices; generating, using the electronic processor, adashboard to simultaneously display an identity and location associatedwith a tool inventory, a link to a geofence boundary setup screen,wherein the geofence boundary setup screen is configured to define ageofence boundary for the tool inventory, inventory data of the toolinventory including an indication of a number of missing tools, a numberof tools with suggested service, a number of tools missing for aspecified period of time, and a number of tools outside of the geofenceboundary, and a link to conduct a wireless inventory audit for the toolinventory; and displaying, using the electronic processor, the dashboardon an electronic display.
 9. The method of claim 8, wherein geofenceboundary setup further comprising: receiving a selection of an initiallocation; generating a default geofence boundary based on the initiallocation; and displaying the default geofence boundary on the electronicdisplay.
 10. The method of claim 9, further comprising: receiving, viathe electronic display, user boundary input modifications to modify thedefault geofence boundary; generating a modified geofence boundary basedon the user boundary input modifications; and displaying the modifiedgeofence boundary on the electronic display.
 11. The method of claim 10,further comprising transmitting the modified geofence boundary to aremote server, wherein the remote server associates the modifiedgeofence boundary with the initial location and a location-basedinventory.
 12. The method of claim 11, further comprising transmittingthe location of the one or more power tool devices to the remote server.13. The method of claim 12, further comprising: populating the modifiedgeofence boundary with a first plurality of reference points; populatingarea around the one or more power tool devices with a second pluralityof reference points; running the first plurality of reference points andthe second plurality of reference points through a clustering function;determining whether one or more of the second plurality of referencepoints is in a same cluster as one or more of the first plurality ofreference points; determining that the one or more power tool devices iswithin the modified geofence boundary when one or more of the secondplurality of reference points is in the same cluster as one or more ofthe first plurality of reference points.
 14. The method of claim 13,further comprising transmitting an indication to the mobilecommunications device that the one or more power tool devices is withinthe modified geofence boundary.
 15. A system for power tool geofencetracking comprising: a mobile communications device including atransceiver configured to enable communications between the mobilecommunications device, a remote server, and one or more power tooldevices; an electronic display; and an electronic processorcommunicatively coupled to the transceiver and the electronic displayand configured to determine a location of the one or more power tooldevices; generate a dashboard to simultaneously display: an identity andlocation associated with a tool inventory, a link to a geofence boundarysetup screen, wherein the geofence boundary setup screen is configuredto define a geofence boundary for the tool inventory, and a link toconduct a wireless inventory audit for the tool inventory, and display,on the electronic display, the dashboard.
 16. The system of claim 15,wherein during geofence boundary setup, the electronic processor isfurther configured to: receive, via the electronic display, a selectionof an initial location; generate a default geofence boundary based onthe initial location; and display the default geofence boundary on theelectronic display.
 17. The system of claim 16, wherein the electronicprocessor is further configured to: receive, via the electronic display,user boundary input modifications to modify the default geofenceboundary; generate a modified geofence boundary based on the userboundary input modifications; and display the modified geofence boundaryon the electronic display.
 18. The system of claim 17, wherein theelectronic processor is further configured to: transmit, via thetransceiver, the modified geofence boundary to the remote server,wherein the remote server associates the modified geofence boundary withthe initial location and a location-based inventory; and transmit, viathe transceiver, the location of the one or more power tool devices tothe remote server.
 19. The system of claim 18, wherein the remote serveris configured to: populate the modified geofence boundary with a firstplurality of reference points; populate an area around the one or morepower tool devices with a second plurality of reference points; run thefirst plurality of reference points and the second plurality ofreference points through a clustering function; determine whether one ormore of the second plurality of reference points is in a same cluster asone or more of the first plurality of reference points; determine thatthe one or more power tool devices is within the modified geofenceboundary when one or more of the second plurality of reference points isin the same cluster as one or more of the first plurality of referencepoints.
 20. The system of claim 19, wherein the remote server isconfigured to transmit an indication to the mobile communications devicethat the one or more power tool devices is within the modified geofenceboundary.